package com.pzb.picture.service;

import java.util.List;

import com.pzb.common.core.domain.TreeSelect;
import com.pzb.common.core.domain.entity.PicFile;

/**
 * 图片管理Service接口
 * 
 * @author pzb
 * @date 2021-09-10
 */
public interface IPicFileService 
{
    /**
     * 查询图片管理
     * 
     * @param id 图片管理主键
     * @return 图片管理
     */
    public PicFile selectPicFileById(Long id);
    /**
     * 查询图片管理
     *
     * @param ids 图片管理主键
     * @return 图片管理
     */

    public List<PicFile> selectPicFileByIds(Long[] ids);

    /**
     * 查询图片管理列表
     * 
     * @param PicFile 图片管理
     * @return 图片管理集合
     */
    public List<PicFile> selectPicFileList(PicFile PicFile);

    /**
     * 查询文件不含文件夹
     *
     * @param PicFile 图片管理
     * @return 图片管理集合
     */
    public List<PicFile> selectPictureList(PicFile PicFile);

    /**
     * 新增图片管理
     * 
     * @param PicFile 图片管理
     * @return 结果
     */
    public int insertPicFile(PicFile PicFile);

    /**
     * 修改图片管理
     * 
     * @param PicFile 图片管理
     * @return 结果
     */
    public int updatePicFile(PicFile PicFile);

    /**
     * 批量删除图片管理
     * 
     * @param ids 需要删除的图片管理主键集合
     * @return 结果
     */
    public int deletePicFileByIds(Long[] ids);

    /**
     * 构建前端所需要下拉树结构
     * @param folders
     * @return
     */
    public List<PicFile> buildFolderTree(List<PicFile> folders);

    /**
     * 构建前端所需要下拉树结构
     * @param folders
     * @return
     */
    public List<TreeSelect> buildFolderTreeSelect(List<PicFile> folders);

    /**
     * 移动文件
     * @param PicFile
     * @return
     */
    public int movePicFiles(PicFile PicFile);

    /**
     * 递归查询子节点
     * @param pictureList
     * @return
     */
    public List<PicFile> getPicFileList(List<PicFile> pictureList,List<PicFile> picFiles);

    /**
     * 根据商品id查询
     * @param goodsId
     * @return
     */
    List<PicFile> selectPicFileListByGoodsId(Long goodsId);
}
